package com.zcsy.manage.persistence.system;

import java.util.List;

import com.zcsy.manage.model.system.Button;
import com.zcsy.manage.model.system.RoleButton;

/**  
 * @Project: persistence
 * @Title: ButtonDao.java
 * @Package com.zcsy.manage.persistence.system
 * @Description: 按钮的DAO
 *
 * @author xiangjw 303310059@qq.com
 * @date 2015年8月12日 下午4:31:03
 * @Copyright: 2015 武汉中财数元信息技术有限公司 All rights reserved.
 * @version V1.0  
 */
public interface ButtonDao {
	
	/** 
	 * @Title: queryAllButton 
	 * @Description: 获取所有按钮
	 * @param @return     
	 * @return List<Button>     
	 * @throws 
	 */
	List<Button> queryAllButton();
	
	/** 
	 * @Title: queryRoleButton 
	 * @Description: 获取有权限的按钮
	 * @param @param roleId
	 * @param @return     
	 * @return List<Button>     
	 * @throws 
	 */
	List<Button> queryRoleButton(String roleId);
	
	/** 
	 * @Title: delRoleButton 
	 * @Description: 删除按钮权限
	 * @param @param ids
	 * @param @return     
	 * @return int     
	 * @throws 
	 */
	int delRoleButton(List<String> ids);
	
	/** 
	 * @Title: addRoleButton 
	 * @Description: 添加按钮权限
	 * @param @param list
	 * @param @return     
	 * @return int     
	 * @throws 
	 */
	int addRoleButton(List<RoleButton> list);
	
	/** 
	 * @Title: queryButton 
	 * @Description: 根据查询条件查询按钮列表
	 * @param @param btn
	 * @param @return     
	 * @return List<Button>     
	 * @throws 
	 */
	List<Button> queryButton(Button btn);
	
	/** 
	 * @Title: insert 
	 * @Description: 添加按钮
	 * @param @param record
	 * @param @return     
	 * @return int     
	 * @throws 
	 */
	int insert(Button record);
	
	/** 
	 * @Title: updateByPrimaryKey 
	 * @Description: 添加按钮
	 * @param @param record
	 * @param @return     
	 * @return int     
	 * @throws 
	 */
	int updateByPrimaryKey(Button record);
	
	/** 
	 * @Title: deleteByPrimaryKeys 
	 * @Description: 批量删除按钮
	 * @param @param ids
	 * @param @return     
	 * @return int     
	 * @throws 
	 */
	int deleteByPrimaryKeys(String[] ids);
	
	/** 
	 * @Title: checkIfButtonUsed 
	 * @Description: 获取使用该按钮了的数量
	 * @param @param id
	 * @param @return     
	 * @return int     
	 * @throws 
	 */
	int checkIfButtonUsed(String id);
	
	/** 
     * @Title: selectByPrimaryKey 
     * @Description: 根据主键查询按钮对象
     * @param id  主键
     * @return 按钮对象    
     * @throws 
     */
	Button selectByPrimaryKey(String id);
}
